1. Field of the Invention
The present invention relates to client computers that are bootable over a network and, in particular to client computers which may be serviced by multiple boot servers. More specifically, the present invention relates to methods of associating MAC addresses with specific target devices for automatic distribution of operating system software to target devices.
2. Description of the Related Art
Some current computing devices include support for pre-boot extensions to download an operating system (OS) a network to which they are attached. Such target computing devices include computer motherboards, network adapters and boot diskettes. These devices rely on extensions to the bootstrap protocol (BOOTP) and to the dynamic host configuration protocol (DHCP). Such extensions are often termed the preboot execution environment (PXE) and require a DHCP/PXE server and a boot image negotiation layer (BINL) server. In order to distribute the operating system software to these target devices, a MAC address of the network adapter is used in part to identify each machine to the server. The MAC address is used with network boot transfer file protocols such as PXE to transfer executable images to a target device.
BOOTP is a transmission control protocol/Internet protocol (TCP/IP) used by a diskless workstation, network computer (NC) or other target device to obtain its IP address and other network information, such as server address and default gateway. Upon startup, the target device sends out a BOOTP request to the BOOTP server, which returns the required information. The BOOTP request and response use an IP broadcast function, which is able to send messages before a specific IP address for a target device is known.
DHCP is software that automatically assigns an IP address to a target device logging onto a TCP/IP network. DHCP eliminates the need for manually assigning permanent IP addresses.
PXE enables a client network computer or other target device that lacks a native operating system to locate and acquire a small network bootstrap program (NBP) from a BINL server. The target device may acquire this NBP from a BINL server through a network attachment. PXE also provides a means for running the NPB on the target device. This allows the target device to continue acquiring additional software from the network that may be required to make the target device capable of performing the more complex and useful tasks assigned to it by an enterprise.
PXE relies on extensions of DHCP as the means by which the target device locates a BINL server from which to acquire an NPB. A facilitating property of DHCP is that the target device does not need the address of any other computer. The target device performs a DHCP broadcast to discover any PXE proxy server that can recognize that the target device is PXE-capable. The DHCP proxy server sends a DHCP offer to the target device. The offer contains the address of the BINL server from which the target device may obtain a NBP. The target device then obtains the NBP and all necessary software from the boot server via a trivial file transfer protocol (TFTP).
Current approaches to distributing an operating system to one or more target machines require that the administrator distributing the software know which MAC address is associated with a given target device. These MAC addresses are often long strings of numbers. Currently, an administrator may “see” one or more devices connected to the server and may even have a list of the MAC addresses of all devices associated with the server. However, in order to determine which MAC address is for each device, the administrator must physically look for the MAC address on a target device or guide a user logged on to the device to look for the MAC address on the target device. Once the administrator has the MAC address, he manually enters, number by number the MAC address of each target machine that requires OS software to be distributed to it. This process is replete with the potential for error.
It would be desirable therefore to provide a method and system to overcome the above.